// createStore：函数用来生成store实例对象
import Vue from 'vue'
import Vuex from 'vuex'
import user from './components/user.js'
import createPersistedstate from 'vuex-persistedstate'
Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
  },
  mutations: {
  },
  actions: {
  },
  modules: {
    user
    // cart
  },
  plugins: [
    // 作业：把默认存储方式该到存入cookie
    createPersistedstate({
      key: 'rabbit-key',
      paths: ['user', 'cart'] // 想把哪个模块中的数据进行持久化 就把模块名称写过来
      // storage: {
      //   getItem: (key) => {
      //     // 刷新的时候 会自动从本地获取 定义如何从本地获取数据的方法
      //     console.log('现在要取数据了', key)
      //     window.sessionStorage.getItem(key)
      //   },
      //   // Please see https://github.com/js-cookie/js-cookie#json, on how to handle JSON.
      //   setItem: (key, value) => {
      //     // 当我们修改state中的数据之后 往本地存 定义往本地存的方法
      //     console.log('现在要存数据了', key, value)
      //     window.sessionStorage.setItem(key, value)
      //   },
      //   removeItem: (key) => {
      //     // 如果想移除掉本地数据  这里定义移除的方法
      //   }
      // }
    }),
  ]
})
export default store
